import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './vuex'
import ElementUI from 'element-ui'
import VueI18n from 'vue-i18n'
import { messages } from './views/common/i18n'
import 'element-ui/lib/theme-chalk/index.css' // 默认主题
// import './assets/css/theme-green/index.css' // 浅绿色主题
import './assets/css/icon.css'
import './views/common/directives'
import 'babel-polyfill'

// 百度图表
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
import BaiduMap from 'vue-baidu-map'
Vue.use(BaiduMap, {
  ak: 'FiSV6xfemHYq5uP15fytGtjhL6aH5zlu'
})


// Vue.use(green)


Vue.config.productionTip = false
Vue.use(VueI18n)
Vue.use(ElementUI, {
  size: 'small'
})
const i18n = new VueI18n({
  locale: 'zh',
  messages
})

// 使用钩子函数对路由进行权限跳转
router.beforeEach((to, from, next) => {
  if (to.meta.title === undefined) {
    document.title = `电气火灾系统`
  } else {
    document.title = `${to.meta.title} | 电气火灾系统`
  }
  const role = localStorage.getItem('ms_username')
  if (!role && to.path !== '/login') {
    next('/login')
  } else if (to.meta.permission) {
    // 如果是管理员权限则可进入，这里只是简单的模拟管理员权限而已
    // console.log(to.meta.permission)
    role === 'admin' ? next() : next('/403')
  } else {
    // 简单的判断IE10及以下不进入富文本编辑器，该组件不兼容
    if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
      Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器，请使用更高版本的浏览器查看', '浏览器不兼容通知', {
        confirmButtonText: '确定'
      })
    } else {
      next()
    }
  }
})

new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')
